It is well known that a nonvolatile memory embodied in a micro control system (or microcontroller) can continuously hold stored data even when power is turned off. The stored data of such a nonvolatile memory can be updated by two methods. One is a parallel interface method, and the other is a serial interface method. With the parallel interface method, the stored information is directly updated at the exterior by using an address, data, and a control signal. With the serial interface method, the stored information is updated by using clock and data signals having a constant speed. These interface methods can be realized by a dedicated interface circuit with or without a central processing unit (CPU).
If the parallel interface method is used to update the stored information of the nonvolatile memory, the nonvolatile memory in the micro control system can directly be controlled by address, data, and control signals. In other words, the nonvolatile memory embodied in the micro control system is controlled as an independent memory chip. However, this method requires a larger number of coupled signal lines, which complicates system design. If the serial interface method is used to update the stored information of the nonvolatile memory, a serial interface for controlling the nonvolatile memory is provided, and the stored information is updated by using clock and data signals or transmit/receive data signals.
Since a nonvolatile memory generally has various sizes, one large serial buffer is embedded in a control module for buffering the nonvolatile memory. After data fills the serial buffer, data corresponding to the serial buffer size is written into the nonvolatile memory. Thus, the memory control module can have a common serial programming interface for performing data inputting into the serial buffer and data writing into the nonvolatile memory at the same time. Bitlines, each corresponding to a size of the serial buffer or data bits stored therein, must be coupled to a memory cell array. Therefore, a large data bus is required.
Although there are advantages in use of the serial interface method, there are problems, such as, increased overhead including, increase in programming time, decrease in the drive capability of voltage pumping circuit, and increase in current consumed.
Considering a coupling state of a data bus as well as the driving capability and size of a voltage pumping circuit, a write data bus of a nonvolatile memory may have various widths, such as, 8-bit, 16-bit, and 32-bit. For example, the width of the write data path may be equal to that of a read data path. In this case, write time is short, and a consumed current of a voltage pumping circuit is reduced. However, a write operation must be performed in several times, and data processing must be varied with the bus width. If a common interface is used, the data processing must be compatible to the CPU.
To update the stored information of the nonvolatile memory through a serial interface, a new on-board programming method, which can update a nonvolatile memory by using the existing transfer protocol with little or no intervention of a CPU and selectively control a serial data transfer speed regardless of write data width of the nonvolatile memory is required.